// 扩展运算符
// function foo(a,b,c){
//     console.log(a,b,c);
// }
// let arr=[1,2,3]
// foo(...arr)//1 2 3

// let arr1=[1,2,3]
// let arr2=[4,5,6]
// Array.prototype.push.apply(arr1,arr2)

// console.log(arr1);
// arr1.push(...arr2)



// rest参数

// es5数组求和
//  function foo(x,y,z){
//     //  console.log(arguments);
//     let sum=0
//     Array.prototype.forEach.call(arguments,function(item){

//          sum+=item
//     })
//     return sum
//  }
//  console.log(foo(1,2,3));


// 不确定参数可以用剩余参数结束
// function foo(...args) {
//     console.log(args);
//     let sum = 0
//     args.forEach((item) => {
//         sum += item
//     })
//     return sum
// }
// console.log(foo(1, 2, 3));


// function foo(x,...args){
//     console.log(x,args);//1 (2) [2, 3]
// }
// foo(1,2,3)


// rest参数与结构赋值
// let [x,...y]=[1,2,3,4]
// console.log(x);// 1
// console.log(y);//[2, 3, 4]

// 扩展运算符：把数组或者类数组展开成用逗号隔开的值
// rest参数：把用逗号隔开的值合成一个数组
